package savet.gui.modelos;

import java.util.Date;
import java.util.List;
import savet.entidades.atributos.HoraExtra;

/**
 *
 * @author Bsi 2007
 */
public class HoraExtraModel extends AbstractAtributoSalarioModel<HoraExtra> {

    public HoraExtraModel(List<HoraExtra> lista) {
        super(lista);
    }

    public HoraExtraModel() {
        super();
    }

    @Override
    public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
        if (aValue != null) {
            HoraExtra he = listaElementos.get(rowIndex);
            if (columnIndex == 0) {
                he.getPeriodo().setDataInicio((Date) aValue);
            } else if (columnIndex == 1) {
                he.getPeriodo().setDataFim((Date) aValue);
            } else if (columnIndex == 2) {
                he.setQtdHoras((Double) aValue);
            } else if (columnIndex == 3) {
                he.setPercentual((Double) aValue);
            } else {
                he.setNumFaltas((Integer) aValue);
            }
        }
    }

    @Override
    public String getColumnName(int column) {
        if (column == 0) {
            return "De";
        } else if (column == 1) {
            return "Até";
        } else if (column == 2) {
            return "Qtd. Horas";
        } else if (column == 3) {
            return "Percentual";
        } else {
            return "Num. Faltas";
        }
    }

    @Override
    public Class<?> getColumnClass(int columnIndex) {
        if (columnIndex == 0) {
            return Date.class;
        } else if (columnIndex == 1) {
            return Date.class;
        } else if (columnIndex == 2) {
            return Double.class;
        } else if (columnIndex == 3) {
            return Double.class;
        } else {
            return Integer.class;
        }
    }

    public int getColumnCount() {
        return 5;
    }

    public Object getValueAt(int rowIndex, int columnIndex) {
        try {
            HoraExtra he = listaElementos.get(rowIndex);
            if (columnIndex == 0) {
                return he.getPeriodo().getDataInicio();
            } else if (columnIndex == 1) {
                return he.getPeriodo().getDataFim();
            } else if (columnIndex == 2) {
                return he.getQtdHoras();
            } else if (columnIndex == 3) {
                return he.getPercentual();
            } else {
                return he.getNumFaltas();
            }
        } catch (IndexOutOfBoundsException e) {
            return null;
        }
    }
}
